package JDBC;

import java.sql.*;
import java.util.Scanner;

public class TestLogin2 {
    public static void main(String[] args) {
        Connection conn = null;//
        PreparedStatement ps = null;
        try {
            //1.反射驱动
            Class.forName("com.mysql.cj.jdbc.Driver");//异常一try/catch
            //2.驱动器获取连接（url地址,用户名，密码）
            String url = "jdbc:mysql://localhost:3306/cgb2105?characterEncoding=utf8";
            conn = DriverManager.getConnection(url, "root", "root");//异常二抛出E

            /*3.Scanner扫描用户输入测试*/
            String user = new Scanner(System.in).nextLine();
            String pwd = new Scanner(System.in).nextLine();
            //4.采用预处理语句（预编译语句）
            /**输入指定信息进行删除*/
            String sql = "delete from user where name=?  and password=?";// ?叫占位符
            ps = conn.prepareStatement(sql);//PreparedStatement传参,效率远高于createStatement
            //5.需要给sql里面的？设置值
            ps.setString(1, user);//用户的参数进行接收，1代表第一个问号
            ps.setString(2, pwd);
            //6.执行executeQuery查询SQL语句,返回结果集
            ps.executeUpdate();/*执行executeUpdate语句不用SQL参数,也不用遍历*/
            //7.判断结果集的下一个值，不再是while循环遍历.
            System.out.println("输入删除指定用户信息，删除成功");


        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //8.释放资源
            TestLogin2.close(null, ps, conn);//类名.方法();
        }
    }

    public static void close(ResultSet rs, PreparedStatement ps, Connection conn) {
        if (rs != null) {
            try {
                rs.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        if (ps != null) {
            try {
                ps.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        if (conn != null) {
            try {
                conn.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}